import { IAnalyzer } from "./IAnalyzer";

/**
 * Ark 分析器
 */
export abstract class ArkAnalyzer implements IAnalyzer {
    protected type: string = 'ark-analyzer';
    protected configuration: any;

    /**
     * 解析
     * @param args 解析参数
     * @returns 
     */
    public async analyze(args: any[]) : Promise<any> {
        return undefined;
    }

    /**
     * 设置解析器配置
     * @param cfg 解析器配置
     */
    public setConfig(cfg: any) : void {
        this.configuration = cfg
    }

    /**
     * 获取解析器配置
     * @returns 解析器配置
     */
    public getConfig(): any {
        return this.configuration;
    }

    /**
     * 获取解析器类型
     * @returns 解析器类型
     */
    public getType(): string {
        return this.type;
    }
}